#ifndef _FILESYSTEM_H_
#define __FILESYSTEM_H_
#include <stdbool.h>
#include <stddef.h>
//struct FileSystem;

struct FileSystem
{
    char *dirPath;
};
typedef struct FileSystem FileSys;
FileSys* FileSystemInit(const char * DirPath);
//在根目录下创建新文件夹
bool CreateNewDirInFs(FileSys *fs ,const char * DirName);
//在根目录下删除一个文件夹
bool DeleteDirInFs(FileSys *fs,const char * DirName);
//根目录下是否存在一个DirName文件夹
bool isDirExist(FileSys*fs,const char * DirName);

//在根目录下的文件夹内写入文件数据
void WriteFileToFs(FileSys * fs,const char * DirName,const char * fileName,void *p,size_t size);

//查看根目录下的文件夹的文件列表
char* GetFileList(FileSys*fs,const char *DirName);
struct PacketFile;
typedef struct PacketFile PackFile;
PackFile * PacketFileInit(const char *FilePath);
void ReadFromFile(PackFile*f,void*p,int *size);
bool IsFileEnd(PackFile *f);
void GetDownFileSize(PackFile*f,int *size);
void ClearPacketFile(PackFile*f);
#endif